local ClientOHOH = _G.ClientOHOH;

local M = ClientOHOH.class.new(script, ClientOHOH.files.OHOHOLYBUIBase());
local CallBackManager = ClientOHOH.load.CallBackManager();
local BtnHelper = ClientOHOH.load.BtnHelper();
local LanguageHelper=_G.LanguageHelper 

local CommonOHOH =_G.CommonOHOH


function InitInsts(ui)
	ui.insts = {};

	--自动颜色变化
	ui.insts.auto_Color ={
		on="ctrl.color.On",
		off="ctrl.color.Off"
	}

	-- 自动攻击
	ui.insts.auto_attack ={
		button="ctrl.btn.autoAttack.btn",
		name="ctrl.btn.autoAttack.des",
	} 


	--装备好友
	ui.insts.FriendEquip = {
		button="ctrl.btn.friendEquip.btn",
		-- name="Frame.left.Buttons.invite.TextButton.TextLabel",
		red={
			root="ctrl.btn.friendEquip.red",
			count="ctrl.btn.friendEquip.redCount"
		}
	}

	--邀请好友
	ui.insts.Friend = {
		button="ctrl.btn.inviteFriends.btn",
		name="ctrl.btn.inviteFriends.des",
	}

	-- 宠物
	ui.insts.pet ={
		button="ctrl.btn.pet.btn",
		-- name="Frame.left.Buttons.pets.btn.TextLabel",
		red={
			root="ctrl.btn.pet.red",
			count="ctrl.btn.pet.redCount"
		}
	} 

	-- 重生
	ui.insts.Rebirth = {
		button="ctrl.btn.rebirth.btn",
		-- name="Frame.left.Buttons.Rebirth.TextButton.TextLabel",
	}

	
	-- 属性
	ui.insts.property = {
		button="ctrl.btn.stats.btn",
		red={
			root="ctrl.btn.stats.red",
			count="ctrl.btn.stats.redCount"
		}
	}


	--交易
	ui.insts.Trade ={
		button="ctrl.btn.trade.btn",
		-- name="Frame.left.Buttons.Trade.TextButton.TextLabel",
	} 


	ui.insts.weapon ={
		button="ctrl.btn.weapon.btn",
		red={
			root="ctrl.btn.weapon.red",
			count="ctrl.btn.weapon.redCount",
		}
	} 



	ui.insts.base_power ={
		-- button="ctrl.currency.Strength.btn",
		num="ctrl.currency.Strength.num",
		image="ctrl.currency.Strength.image",
	} 
	
	ui.insts.base_wins ={
		-- button="ctrl.currency.wins.btn",
		num="ctrl.currency.wins.num",
		image="ctrl.currency.wins.image",

	} 

	ui.insts.base_diamond ={
		-- button="ctrl.currency.Diamond.btn",
		num="ctrl.currency.Diamond.num",
		image="ctrl.currency.Diamond.image",
	} 

	ui.insts.base_meat ={
		-- button="ctrl.currency.food.btn",
		num="ctrl.currency.food.num",
		image="ctrl.currency.food.image",
	} 

end

function M.new(...)
	return M(...);
end;


function M.ctor(self)
	InitInsts(self)
	
	M.super.ctor(self, ClientOHOH:GetPath_Loop("ReplicatedStorage.Resource.UI.BattleHomeGui"));


	--镜像主界面
	self.HomeGui=ClientOHOH.load.UIManager().ui_list.HomeGui

	--主界面发生变化
	self.HomeGui.CallFucEvent:Connect(function(key,...)
		 if M[key] then
			M[key](self,...)
		 end
	end)

	self:SetPetRed()
	self:SetHadPoint()
	self:SetFriendEquipRed()
	self:SetWeaponRed()


	self:AddFriendBoost()
	self:SetAutoAttack()
	self:UpdBaseData()
end;


function M.dtor(self)
	M.super.dtor(self);
end;


function M.SetPetRed(self,count)	

	self.insts.pet.red.count.Text=self.HomeGui.insts.pet.red.count.Text
	self.insts.pet.red.root.Visible=self.HomeGui.insts.pet.red.root.Visible


end

function M.SetHadPoint(self)
	self.insts.property.red.root.Visible=self.HomeGui.insts.property.red.root.Visible
	self.insts.property.red.count.Text=self.HomeGui.insts.property.red.count.Text
end


function M.SetFriendEquipRed(self)	
	self.insts.FriendEquip.red.count.Text=self.HomeGui.insts.FriendEquip.red.count.Text
	self.insts.FriendEquip.red.root.Visible=self.HomeGui.insts.FriendEquip.red.root.Visible

end


function M.SetWeaponRed(self)	
	self.insts.weapon.red.root.Visible=self.HomeGui.insts.weapon.red.root.Visible
	self.insts.weapon.red.count.Text=self.HomeGui.insts.weapon.red.count.Text
end




--添加好友加成
function M.AddFriendBoost(self,boost)
	self.insts.Friend.name.Text=self.HomeGui.insts.Friend.name.Text
end



function M.GetItemAbsoluteProperties(self,item_id)
	local ui= self.insts[item_id].image
	return ui.AbsolutePosition,ui.AbsoluteSize
end

function M.AddItem(self,item_id,count)	
	local lable= self.insts[item_id].num
	require(lable.AddCtrl.Animation).play(count)
end

--自动攻击
function M.SetAutoAttack(self)
	self.insts.auto_attack.name.Text=self.HomeGui.insts.auto_attack.name.Text
	self.insts.auto_attack.button.ImageColor3=self.HomeGui.insts.auto_attack.button.ImageColor3
end;


function M.UpdBaseData(self)
	self.insts.base_wins.num.Text=self.HomeGui.insts.base_wins.num.Text
	self.insts.base_diamond.num.Text=self.HomeGui.insts.base_diamond.num.Text
	self.insts.base_meat.num.Text=self.HomeGui.insts.base_meat.num.Text
end

return M
